/*
  Tên:Trần Hoàng Lâm
  MSSV:11379951
  Lớp:DHTH7DLT
  Ngày hoàn thành:28/04/2012
  */
#include "frmquydinh.h"
#include "ui_frmquydinh.h"

frmQuyDinh::frmQuyDinh(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::frmQuyDinh)
{
    ui->setupUi(this);
    //Khởi tạo
    DB =new MySqlConnection();
    trangThai=false;
    doiButton(false);
    loadDL();
    //Gán sự kiện
    this->connect(ui->btnCauHinh,SIGNAL(clicked()),this,SLOT(cauhinh()));
    this->connect(ui->btnLuu,SIGNAL(clicked()),this,SLOT(luu()));
    this->connect(ui->btnThoat,SIGNAL(clicked()),this,SLOT(thoat()));
    ui->txtNhapToiThieu->setInputMethodHints(Qt::ImhDialableCharactersOnly);
}

frmQuyDinh::~frmQuyDinh()
{
    delete ui;
}

void frmQuyDinh::luu()
{
    bool tl;
    bool isNum;
    int temp;
    //Kiểm tra rỗng
    if(ui->txtNhapToiThieu->text().trimmed().isEmpty())
    {
        QMessageBox::information(this,trUtf8("Thông báo"),trUtf8("Vui lòng nhập số lượng nhập tối thiểu khi nhập"));
        return;
    }
    if(ui->txtTonNhap->text().trimmed().isEmpty())
    {
        QMessageBox::information(this,trUtf8("Thông báo"),trUtf8("Vui lòng nhập lương tồn tối thiểu trước khi nhập"));
        return;
    }
    if(ui->txtNoToiDa->text().trimmed().isEmpty())
    {
        QMessageBox::information(this,trUtf8("Thông báo"),trUtf8("Vui lòng nhập số tiền nợ tối đa"));
        return;
    }
    if(ui->txtToiThieuBan->text().trimmed().isEmpty())
    {
        QMessageBox::information(this,trUtf8("Thông báo"),trUtf8("Vui lòng nhập số lượng tồn tối thiệu khi bán"));
        return;
    }
    DB->Open();
    QSqlQuery query(DB->DB);
    query.prepare("UPDATE h2l_QuyDinh set giatri=?,apDung=? WHERE maQD=?");
    QStringList giatris;
    QStringList apDungs;
    QStringList maQDs;
    if(ui->txtNhapToiThieu->isModified())
    {
        giatris+=ui->txtNhapToiThieu->text().trimmed();
        apDungs+=ui->ckbNhapToiThieu->isChecked()?"1":"0";
        maQDs+="1";

    }
    if(ui->txtTonNhap->isModified())
    {
        giatris+=ui->txtTonNhap->text().trimmed();
        apDungs+=ui->ckbTonToiThieuNhap->isChecked()?"1":"0";
        maQDs+="2";

    }
    if(ui->txtNoToiDa->isModified())
    {
        giatris+=ui->txtNoToiDa->text().trimmed();
        apDungs+=ui->ckbNoToiDa->isChecked()?"1":"0";
        maQDs+="3";

    }
    if(ui->txtToiThieuBan->isModified())
    {

        giatris+=ui->txtToiThieuBan->text().trimmed();
        apDungs+=ui->ckbTonToiThieuBan->isChecked()?"1":"0";
        maQDs+="4";
    }
    query.addBindValue(giatris);
    query.addBindValue(apDungs);
    query.addBindValue(maQDs);
     tl= query.execBatch();
     if(!tl)
         QMessageBox::information(this,trUtf8("Có lỗi xảy ra"),query.lastError().text());
     doiButton(false);
     trangThai=false;
    DB->Close();

}

void frmQuyDinh::thoat()
{
    if(trangThai)
    {
        if(QMessageBox::information(this,trUtf8("Thông báo"),trUtf8("Bạn muốn lưu lại quy định trước khi thoát ?"),QMessageBox::Yes,QMessageBox::No)==QMessageBox::No)
                    this->close();


    }
    else
        this->close();
}

void frmQuyDinh::loadDL()
{
    bool b=false;
    /*
      id 1 so luong nhap toi thieu
         2 so luong ton toi thieu nhap
         3 so tien no toi da
         4 so luong ton toi thieu ban
      */

    ui->txtNhapToiThieu->setText(QString::number(DB->giatTriQuyDinh(1,b)));
    ui->ckbNhapToiThieu->setChecked(b);
    ui->txtTonNhap->setText(QString::number(DB->giatTriQuyDinh(2,b)));
    ui->ckbTonToiThieuNhap->setChecked(b);
    ui->txtNoToiDa->setText(QString::number(DB->giatTriQuyDinh(3,b)));
    ui->ckbNoToiDa->setChecked(b);
    ui->txtToiThieuBan->setText(QString::number(DB->giatTriQuyDinh(4,b)));
    ui->ckbTonToiThieuBan->setChecked(b);
}

void frmQuyDinh::doiButton(bool b)
{
   ui->btnLuu->setEnabled(b);
   ui->txtNhapToiThieu->setReadOnly(!b);
   ui->txtNoToiDa->setReadOnly(!b);
   ui->txtToiThieuBan->setReadOnly(!b);
   ui->txtTonNhap->setReadOnly(!b);
   ui->ckbNhapToiThieu->setEnabled(b);
   ui->ckbNoToiDa->setEnabled(b);
   ui->ckbTonToiThieuBan->setEnabled(b);
   ui->ckbTonToiThieuNhap->setEnabled(b);
   b==true?ui->btnCauHinh->setText(trUtf8("Không lưu")):ui->btnCauHinh->setText(trUtf8("Cấu hình"));
}

void frmQuyDinh::cauhinh()
{
    if(ui->btnCauHinh->text()==trUtf8("Không lưu"))
    {
        doiButton(false);
        loadDL();
        trangThai=false;
    }
    else
    {
        doiButton(true);
        trangThai=true;
    }


}

